﻿using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace iToolPlugin.SMSProvider
{
    public abstract class SmsResultBase
    {
        protected HTTPResponse? response;

        public abstract void parseFromHTTPResponse(HTTPResponse response);

        public JObject parseToJson(HTTPResponse response)
        {
            this.response = response;
            try
            {
                return JObject.Parse(response.body);
            }
            catch (JsonReaderException ex)
            {
                throw new Newtonsoft.Json.JsonException(ex.Message);
            }
        }

        public HTTPResponse getResponse()
        {
#pragma warning disable CS8603 // 可能返回 null 引用。
            return response;
#pragma warning restore CS8603 // 可能返回 null 引用。
        }

        public override string ToString()
        {
#pragma warning disable CS8602 // 解引用可能出现空引用。
            return response.body;
#pragma warning restore CS8602 // 解引用可能出现空引用。
        }
    }
}
